GINO Graphics Suite - GINO v9.0  

Computer Graphics Metafile (CGM)

Device Nominations

Nomination Routine Description of Device
A gCgmchi() For character encoded formats with integer coordinates
B gCgmchr() For character encoded formats with real coordinates
C gCgmbi() For binary encoded formats with integer coordinates
D gCgmbr() For binary encoded formats with real coordinates
     

Device Characteristics

A & C B & D
Maximum Width (mm) 327.67 No Limit
Maximum Height (mm) 327.67 No Limit
  Devices A to D
Default Width (mm) 200.0
Default Height (mm) 200.0
Colours / Pens 255
Colour Palette Dynamic
Broken Linestyles 5
Drawing Modes No
Thick Lines Yes
Line Ends No
Arcs Yes
Symbols No
Fonts 1
Character Sizes Any & 16 Pseudo-hardware in multiples of 1.5mm square
Character Angles Any
Italic Characters Any angle
Polygonal Filling Yes
Segments No
Image Handling Yes
Clipping No


Using with F90

When using this driver with Fortran 90, a use statement is required at the start of the routine that makes the call to the device nomination routine as follows:

use gcgm_f90

File Format

Both character and binary encodings of the CGM driver produce a file containing a single stream of eight-bit bytes with no record structure.

All nomination routines will always generate files with metric scaling mode as GINO operates in a real coordinate system rather than an abstract one.

Multi-Pictures

More than one picture can be stored in any CGM metafile and the routine gNewDrawing() is used to separate each picture.

CGM Elements

The full list of legal CGM element identifiers is given below together with notes on their use by the GINO generator and interpreter.

Element ID Element Name Generated Interpreted
       
131 Null N Y
132 BEGIN METAFILE Y Y
133 END METAFILE Y Y
134 BEGIN PICTURE Y Y
135 BEGIN PICTURE BODY Y Y
136 END PICTURE Y Y
       
232 METAFILE VERSION Y I
233 METAFILE DESCRIPTION Y I
234 VDC TYPE Y Y
235 INTEGER PRECISION Y Y
236 REAL PRECISION Y Y
237 INDEX PRECISION Y Y
238 COLOUR PRECISION Y Y
239 COLOUR INDEX PRECISION Y Y
240 MAXIMUM COLOUR INDEX Y Y
241 COLOUR VALUE EXTENT Y Y
242 METAFILE ELEMENT LIST Y Y
243 BEGIN METAFILE DEFAULTS REPLACEMENT Y Y
244 END METAFILE DEFAULTS REPLACEMENT Y Y
245 FONT LIST N N
246 CHARACTER SET LIST Y Y
247 CHARACTER CODING ANNOUNCER Y Y
       
332 SCALING MODE Y Y
333 COLOUR SELECTION MODE Y Y
334 LINE WIDTH SPECIFICATION MODE Y Y
335 MARKER SPECIFICATION MODE Y Y
336 EDGE WIDTH SPECIFICATION MODE Y Y
337 VDC EXTENT Y Y
338 BACKGROUND COLOUR Y Y
       
432 VDC INTEGER PRECISION Y Y
433 VDC REAL PRECISION Y Y
434 AUXILIARY COLOUR N N
435 TRANSPARENCY N N
436 CLIP RECTANGLE N Y
437 CLIP INDICATOR N Y
       
032 POLYLINE Y Y
033 DISJOINT POLYLINE N Y
034 POLYMARKER N Y
035 TEXT Y Y
036 RESTRICTED TEXT N Y
037 APPEND TEXT N N
038 POLYGON N Y
039 POLYGON SET Y Y
040 CELL ARRAY Y(4) Y
041 GENERALIZED DRAWING PRIMITIVE N Y(1)
042 RECTANGLE N Y
532 CIRCLE Y Y
533 CIRCULAR ARC 3 POINT N Y
534 CIRCULAR ARC 3 POINT CLOSE N Y
535 CIRCULAR ARC CENTRE Y Y
536 CIRCULAR ARC CENTRE CLOSE N Y
537 ELLIPSE N N
538 ELLIPTICAL ARC N N
539 ELLIPTICAL ARC CLOSE N N
       
632 LINE BUNDLE INDEX N N
633 LINE TYPE Y Y
634 LINE WIDTH Y Y
635 LINE COLOUR Y Y
636 MARKER BUNDLE INDEX N N
637 MARKER TYPE N Y
638 MARKER WIDTH N Y
639 MARKER COLOUR N Y
648 TEXT BUNDLE INDEX N N
649 TEXT FONT INDEX N N
650 TEXT PRECISION Y N(2)
651 CHARACTER EXPANSION FACTOR Y Y
652 CHARACTER SPACING Y Y
653 TEXT COLOUR Y Y
654 CHARACTER HEIGHT Y Y
655 CHARACTER ORIENTATION Y Y
656 TEXT PATH N Y
657 TEXT ALIGNMENT N Y
658 CHARACTER SET INDEX Y Y
659 ALTERNATE CHARACTER SET INDEX Y Y
732 FILL BUNDLE INDEX N N
733 INTERIOR STYLE Y(3) Y(3)
734 FILL COLOUR Y Y
735 HATCH INDEX Y Y
736 PATTERN INDEX N N
737 EDGE BUNDLE INDEX N N
738 EDGE TYPE Y Y
739 EDGE WIDTH Y Y
740 EDGE COLOUR Y Y
741 EDGE VISIBILITY N N
742 FILL REFERENCE POINT N N
743 PATTERN TABLE N N
744 PATTERN SIZE N N
748 COLOUR TABLE Y Y
749 ASPECT SOURCE FLAGS N N
       
832 ESCAPE N N
833 MESSAGE N N
834 APPLICATION N N
848 DOMAIN RING N N
       

Y= This element is generated/interpreted by the GINOCGM software

N= This element is not generated/interpreted by the GINOCGM software

I = This element is ignored by the GINOCGM interpreter

Notes:

1) Generalized Drawing primitives are interpreted as a polyline

2) All text is interpreted in software transformed mode

3) Pattern fill style is not implemented

4) Cell arrays are output as one element if the number of 'components' (nx*ny) is less than 2048. If the number is greater than this, the image is encoded as a series of cell arrays representing each row of the cell array.